package InternetCode.Socket.Exa6_1;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.SocketTimeoutException;

/**
 * 设置服务器等待连接的超时时间
 */
public class ServerTimeOutSet {
    private ServerSocket server; // 声明ServerSocket对象

    public void getServer() {
        try {
            server = new ServerSocket(1978); // 实例化Socket对象
            // 设置连接超时时间为10秒 ,执行accept后10秒后若没有客户端连接，则抛出异常
            server.setSoTimeout(5000);
            // 输出信息
            System.out.println("服务器套接字已经创建成功\n");
            while (true) {
                //输出信息
                System.out.println("等待客户机的连接......\n");
                // 等待客户机连接
                server.accept();
            }
        } catch (SocketTimeoutException e) {
            System.out.println("连接超时......");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        // 创建本类对象
        ServerTimeOutSet frame = new ServerTimeOutSet();
        // 调用方法
        frame.getServer();
    }

}
